package com.lanou3g.code0423.set;

/**
 * Created by dllo on 18/4/23.
 */
public class Person {
    private String name;
    private int  age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj==null){
            return false;
        }
        if (!(obj instanceof Person)){
           // instanceof 关键字
            //用来判断左边的对象是否是右边类型或者右边类型的子类或者实现了右边类型接口
            //如果是,则返回true,不是返回false


            return false;
        }
        //之前的代码都是套路,永远这么写
        //下面这俩行才根据自己的代码进行判断
        Person other=(Person)obj;
        return this.name.equals(other.getName())&&this.age==other.getAge();

    }
    //以后 同意使用 idea:command+n
    //选择equals()&hashCode()
    //把要判断相等属性勾选上,然后点点确定即可
    //不需要自己手写

    @Override
    public int hashCode() {
        //返回值的guize,行业标准,体现equals()里使用的属性即可
        //怎么算 随便
        return name.hashCode()+age;
    }
}
